package Clases;
/**
 * 
 */


import java.io.Serializable;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

/**
 * @author bruno_000
 *
 */
@Entity
@Table(name="seleccion",schema="bdd_II")
public class Seleccion implements Serializable {
	
	private String color_camiseta;
	private Set<Jugador> jugadores;
	private Set<Tecnico> tecnicos;
	private Pais pais;
	private Grupo grupo; //1 Grupo -> N Selecciones
	
	/**
	 * Constructor sin parametros
	 */
	public Seleccion(){}

	/**
	 * @param color_camiseta
	 * @param jugadores
	 * @param tecnico
	 * @param pais
	 * @param grupo
	 */
//	public Seleccion(String color_camiseta, Set<Jugador> jugadores,
//			Set<Tecnico> tecnico, Pais pais, Grupo grupo) {
//		this.color_camiseta = color_camiseta;
//		this.jugadores = jugadores;
//		this.tecnicos = tecnico;
//		this.pais = pais;
//		this.grupo = grupo;
//	}

	/**
	 * @return the color_camiseta
	 */
	@Column(name="color_camiseta")
	public String getColor_camiseta() {
		return color_camiseta;
	}

	/**
	 * @param color_camiseta the color_camiseta to set
	 */
	public void setColor_camiseta(String color_camiseta) {
		this.color_camiseta = color_camiseta;
	}

	/**
	 * @return the jugadores
	 */
	@OneToMany(mappedBy="seleccion")
	public Set<Jugador> getJugadores() {
		return jugadores;
	}

	/**
	 * @param jugadores the jugadores to set
	 */
	public void setJugadores(Set<Jugador> jugadores) {
		this.jugadores = jugadores;
	}

	/**
	 * @return the tecnico
	 */
	@OneToMany//(mappedBy="seleccion")
	@JoinColumn(name="nombre_seleccion")
	public Set<Tecnico> getTecnico() {
		return tecnicos;
	}

	/**
	 * @param tecnico the tecnico to set
	 */
	public void setTecnico(Set<Tecnico> tecnico) {
		this.tecnicos = tecnico;
	}

	/**
	 * @return the pais
	 */
	@Id
	@OneToOne
	@JoinColumn(name="nombre_seleccion")
	public Pais getPais() {
		return pais;
	}

	/**
	 * @param pais the pais to set
	 */
	public void setPais(Pais pais) {
		this.pais = pais;
	}

	/**
	 * @return the grupo
	 */
	@ManyToOne
	@JoinColumn(name="nombre_grupo")
	public Grupo getGrupo() {
		return grupo;
	}

	/**
	 * @param grupo the grupo to set
	 */
	public void setGrupo(Grupo grupo) {
		this.grupo = grupo;
	}
}
